#include <iostream>

using std::cout;
using std::endl;

void func(int a)
{
    ++a;
}

void test()
{
    int number = 1;

    //lambda表达式--->也称为匿名函数
    //[] 捕获列表
    //() 函数的参数列表
    //{} 函数的函数体
    //
    //捕获方式：
    //值捕获:拷贝一份到表达式中,也就是值传递
    //引用捕获:将引用传递进来了,也就是引用传递
    /* [number](int value)mutable{ */
    [&number](int value){
        ++value;
        ++number;
        cout << "value = " << value << endl;
        cout << "number == " << number << endl;
    }(100);
    cout << endl;

    cout << "number = " << number << endl;
    /* [](){}(); */
}

int main(int argc, char *argv[])
{
    test();
    return 0;
}

